from django.core.management.base import BaseCommand
from diet.models import FoodItem
from decimal import Decimal


class Command(BaseCommand):
    help = '添加食品数据到tb_food_items表'

    def handle(self, *args, **options):
        # 食品数据列表
        food_data = [
            # 水果类
            {
                'name': '苹果',
                'category': 'snack',
                'calories': 52,
                'protein': Decimal('0.3'),
                'carbs': Decimal('14.0'),
                'fat': Decimal('0.2'),
                'fiber': Decimal('2.4'),
                'suitable_for': 'regular',
                'description': '富含维生素C和膳食纤维，有助于消化和免疫系统'
            },
            {
                'name': '香蕉',
                'category': 'snack',
                'calories': 89,
                'protein': Decimal('1.1'),
                'carbs': Decimal('23.0'),
                'fat': Decimal('0.3'),
                'fiber': Decimal('2.6'),
                'suitable_for': 'regular',
                'description': '富含钾和维生素B6，是运动后的理想补充'
            },
            {
                'name': '橙子',
                'category': 'snack',
                'calories': 47,
                'protein': Decimal('0.9'),
                'carbs': Decimal('12.0'),
                'fat': Decimal('0.1'),
                'fiber': Decimal('2.4'),
                'suitable_for': 'regular',
                'description': '维生素C含量丰富，有助于增强免疫力'
            },
            {
                'name': '葡萄',
                'category': 'snack',
                'calories': 62,
                'protein': Decimal('0.6'),
                'carbs': Decimal('16.0'),
                'fat': Decimal('0.2'),
                'fiber': Decimal('0.9'),
                'suitable_for': 'regular',
                'description': '含有抗氧化物质，有助于心血管健康'
            },
            {
                'name': '草莓',
                'category': 'snack',
                'calories': 32,
                'protein': Decimal('0.7'),
                'carbs': Decimal('7.7'),
                'fat': Decimal('0.3'),
                'fiber': Decimal('2.0'),
                'suitable_for': 'regular',
                'description': '富含维生素C和抗氧化物质'
            },
            {
                'name': '蓝莓',
                'category': 'snack',
                'calories': 57,
                'protein': Decimal('0.7'),
                'carbs': Decimal('14.5'),
                'fat': Decimal('0.3'),
                'fiber': Decimal('2.4'),
                'suitable_for': 'regular',
                'description': '超级食物，富含抗氧化物质和维生素'
            },
            {
                'name': '猕猴桃',
                'category': 'snack',
                'calories': 61,
                'protein': Decimal('1.1'),
                'carbs': Decimal('14.7'),
                'fat': Decimal('0.5'),
                'fiber': Decimal('3.0'),
                'suitable_for': 'regular',
                'description': '维生素C含量极高，有助于胶原蛋白合成'
            },
            {
                'name': '芒果',
                'category': 'snack',
                'calories': 60,
                'protein': Decimal('0.8'),
                'carbs': Decimal('15.0'),
                'fat': Decimal('0.4'),
                'fiber': Decimal('1.6'),
                'suitable_for': 'regular',
                'description': '富含维生素A和C，有助于视力和皮肤健康'
            },
            {
                'name': '菠萝',
                'category': 'snack',
                'calories': 50,
                'protein': Decimal('0.5'),
                'carbs': Decimal('13.0'),
                'fat': Decimal('0.1'),
                'fiber': Decimal('1.4'),
                'suitable_for': 'regular',
                'description': '含有菠萝蛋白酶，有助于消化'
            },
            {
                'name': '西瓜',
                'category': 'snack',
                'calories': 30,
                'protein': Decimal('0.6'),
                'carbs': Decimal('7.6'),
                'fat': Decimal('0.2'),
                'fiber': Decimal('0.4'),
                'suitable_for': 'regular',
                'description': '水分充足，是夏季解暑的理想选择'
            },
            
            # 蔬菜类
            {
                'name': '西兰花',
                'category': 'lunch',
                'calories': 34,
                'protein': Decimal('2.8'),
                'carbs': Decimal('7.0'),
                'fat': Decimal('0.4'),
                'fiber': Decimal('2.6'),
                'suitable_for': 'vegetarian',
                'description': '十字花科蔬菜，富含维生素C和抗癌物质'
            },
            {
                'name': '菠菜',
                'category': 'lunch',
                'calories': 23,
                'protein': Decimal('2.9'),
                'carbs': Decimal('3.6'),
                'fat': Decimal('0.4'),
                'fiber': Decimal('2.2'),
                'suitable_for': 'vegetarian',
                'description': '富含铁和叶酸，有助于血液健康'
            },
            {
                'name': '胡萝卜',
                'category': 'snack',
                'calories': 41,
                'protein': Decimal('0.9'),
                'carbs': Decimal('9.6'),
                'fat': Decimal('0.2'),
                'fiber': Decimal('2.8'),
                'suitable_for': 'vegetarian',
                'description': '富含胡萝卜素，有助于视力和皮肤健康'
            },
            {
                'name': '西红柿',
                'category': 'lunch',
                'calories': 18,
                'protein': Decimal('0.9'),
                'carbs': Decimal('3.9'),
                'fat': Decimal('0.2'),
                'fiber': Decimal('1.2'),
                'suitable_for': 'vegetarian',
                'description': '富含番茄红素，具有抗氧化作用'
            },
            {
                'name': '黄瓜',
                'category': 'snack',
                'calories': 16,
                'protein': Decimal('0.7'),
                'carbs': Decimal('3.6'),
                'fat': Decimal('0.1'),
                'fiber': Decimal('0.5'),
                'suitable_for': 'vegetarian',
                'description': '水分充足，低热量，适合减肥期间食用'
            },
            {
                'name': '洋葱',
                'category': 'lunch',
                'calories': 40,
                'protein': Decimal('1.1'),
                'carbs': Decimal('9.3'),
                'fat': Decimal('0.1'),
                'fiber': Decimal('1.7'),
                'suitable_for': 'vegetarian',
                'description': '含有硫化物，有助于心血管健康'
            },
            {
                'name': '大蒜',
                'category': 'lunch',
                'calories': 149,
                'protein': Decimal('6.4'),
                'carbs': Decimal('33.1'),
                'fat': Decimal('0.5'),
                'fiber': Decimal('2.1'),
                'suitable_for': 'vegetarian',
                'description': '具有抗菌和抗炎作用，有助于免疫系统'
            },
            {
                'name': '青椒',
                'category': 'lunch',
                'calories': 20,
                'protein': Decimal('0.9'),
                'carbs': Decimal('4.6'),
                'fat': Decimal('0.2'),
                'fiber': Decimal('1.7'),
                'suitable_for': 'vegetarian',
                'description': '富含维生素C，有助于胶原蛋白合成'
            },
            {
                'name': '茄子',
                'category': 'dinner',
                'calories': 25,
                'protein': Decimal('1.0'),
                'carbs': Decimal('6.0'),
                'fat': Decimal('0.2'),
                'fiber': Decimal('3.0'),
                'suitable_for': 'vegetarian',
                'description': '富含花青素，具有抗氧化作用'
            },
            {
                'name': '南瓜',
                'category': 'dinner',
                'calories': 26,
                'protein': Decimal('1.0'),
                'carbs': Decimal('6.5'),
                'fat': Decimal('0.1'),
                'fiber': Decimal('0.5'),
                'suitable_for': 'vegetarian',
                'description': '富含胡萝卜素和钾，有助于视力和心脏健康'
            },
            
            # 谷物类
            {
                'name': '燕麦',
                'category': 'breakfast',
                'calories': 389,
                'protein': Decimal('16.9'),
                'carbs': Decimal('66.3'),
                'fat': Decimal('6.9'),
                'fiber': Decimal('10.6'),
                'suitable_for': 'vegetarian',
                'description': '富含膳食纤维，有助于降低胆固醇'
            },
            {
                'name': '糙米',
                'category': 'lunch',
                'calories': 111,
                'protein': Decimal('2.6'),
                'carbs': Decimal('23.0'),
                'fat': Decimal('0.9'),
                'fiber': Decimal('1.8'),
                'suitable_for': 'vegetarian',
                'description': '保留胚芽和麸皮，营养更丰富'
            },
            {
                'name': '全麦面包',
                'category': 'breakfast',
                'calories': 247,
                'protein': Decimal('13.0'),
                'carbs': Decimal('41.0'),
                'fat': Decimal('4.2'),
                'fiber': Decimal('7.0'),
                'suitable_for': 'regular',
                'description': '富含B族维生素和膳食纤维'
            },
            {
                'name': '藜麦',
                'category': 'lunch',
                'calories': 120,
                'protein': Decimal('4.4'),
                'carbs': Decimal('21.3'),
                'fat': Decimal('1.9'),
                'fiber': Decimal('2.8'),
                'suitable_for': 'vegetarian',
                'description': '超级谷物，蛋白质含量高，是素食者的理想选择'
            },
            
            # 蛋白质类
            {
                'name': '鸡胸肉',
                'category': 'lunch',
                'calories': 165,
                'protein': Decimal('31.0'),
                'carbs': Decimal('0.0'),
                'fat': Decimal('3.6'),
                'fiber': Decimal('0.0'),
                'suitable_for': 'regular',
                'description': '优质蛋白质来源，脂肪含量低'
            },
            {
                'name': '三文鱼',
                'category': 'dinner',
                'calories': 208,
                'protein': Decimal('25.0'),
                'carbs': Decimal('0.0'),
                'fat': Decimal('12.0'),
                'fiber': Decimal('0.0'),
                'suitable_for': 'regular',
                'description': '富含omega-3脂肪酸，有助于心脏健康'
            },
            {
                'name': '鸡蛋',
                'category': 'breakfast',
                'calories': 155,
                'protein': Decimal('12.6'),
                'carbs': Decimal('1.1'),
                'fat': Decimal('10.6'),
                'fiber': Decimal('0.0'),
                'suitable_for': 'regular',
                'description': '优质蛋白质来源，富含多种维生素'
            },
            {
                'name': '豆腐',
                'category': 'lunch',
                'calories': 76,
                'protein': Decimal('8.1'),
                'carbs': Decimal('1.9'),
                'fat': Decimal('4.8'),
                'fiber': Decimal('0.3'),
                'suitable_for': 'vegetarian',
                'description': '植物蛋白来源，富含异黄酮'
            },
            {
                'name': '希腊酸奶',
                'category': 'breakfast',
                'calories': 59,
                'protein': Decimal('10.0'),
                'carbs': Decimal('3.6'),
                'fat': Decimal('0.4'),
                'fiber': Decimal('0.0'),
                'suitable_for': 'regular',
                'description': '蛋白质含量高，有助于肌肉恢复'
            }
        ]

        # 添加数据
        created_count = 0
        for food_item in food_data:
            # 检查是否已存在
            if not FoodItem.objects.filter(name=food_item['name']).exists():
                FoodItem.objects.create(**food_item)
                created_count += 1
                self.stdout.write(
                    self.style.SUCCESS(f'成功添加: {food_item["name"]}')
                )
            else:
                self.stdout.write(
                    self.style.WARNING(f'已存在: {food_item["name"]}')
                )

        self.stdout.write(
            self.style.SUCCESS(f'完成！共添加了 {created_count} 条食品数据')
        )
